Richard Feynman Computer Science Lecture - Hardware, Software And Heuristics